import request from '../../utils/request'

// pages/center/center.js
let startY = 0
Page({
  // 1. 手指触摸屏幕开始
  startHandler(e) {
    // 手指一按下的时候，不要有过渡效果
    this.setData({
      convertTransition: ''
    })
    // console.log('aa', e)
    // 获取手指初始按下的坐标值
    startY = e.touches[0].clientY
  },
  // 2. 手指滑动时
  moveHandler(e) {
    // console.log('bb', e)
    // 2.1 计算移动的距离
    let positionY = e.touches[0].clientY - startY
    // console.log(positionY)
    // if (positionY < 0) {
    //   positionY = 0
    //   return // 阻止代码的向下执行
    // }
    // if (positionY < 0) {
    //   return positionY = 0
    // }

    // 当if的大括号中只有一行代码的时候，可以省略大括号精简成如下写法
    if (positionY < 0) return positionY = 0
    if (positionY > 80) positionY = 80
    this.setData({
      // positionY
      convertTransform: `translateY(${positionY}rpx)`
    })
  },
  // 3. 手指抬起时
  endHandler(e) {
    this.setData({
      // positionY: 0,
      convertTransform: `translateY(0rpx)`,
      convertTransition: 'transform 0.5s linear'
    })
  },
  // 4. 跳转到login页面
  toLoginPage() {
    // 可以根据本地存储中是否有数据来判断是否已经登陆过了
    const userInfo = wx.getStorageSync('userInfo')
    if (userInfo) return // 阻止代码向下执行
    wx.navigateTo({
      url: '/pages/login/login',
    })
  },
  // 5. 获取最近播放记录
  async getRecentListData() {
    const {
      userId: uid
    } = this.data.userInfo
    const result = await request({
      url: '/user/record',
      data: {
        uid,
        type: 1
      }
    })
    if (result.code === 200) {
      this.setData({
        recentList: result.weekData.slice(0, 20)
      })
    }
  },
  /**
   * 页面的初始数据
   */
  data: {
    positionY: 0,
    convertTransform: 'translateY(0rpx)', // 滑动时的属性值
    convertTransition: '', // 过渡时的属性时
    userInfo: {}, // 个人中心页面要渲染的数据
    recentList: [], // 最近播放记录
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 1. 获取本地存储中的数据
    const userInfo = wx.getStorageSync('userInfo')
    if (userInfo) {
      this.setData({
        // 反序列化
        userInfo: JSON.parse(userInfo)
      })

      // 当登陆成功之后再去获取播放记录
      this.getRecentListData()
    }


  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})